<?dyhb
class TemplateGtkWidgetCreator{

	/**
	 * 已创建的 窗体享元对象
	 * 
	 * @access private
	 * @var array
	 */
	protected $_arrWidgets=array();
	protected $_arrWidgetTree=array();
	protected $_arrWidgetIds=array();
	
	/**
	 * 用于响应 事件信号 的对象
	 * 
	 * @access private
	 * @var array
	 */
	private $_arrObjectForSignal=array();

	/**
	 * Glade 模版文件 路径
	 * 
	 * @access private
	 * @var array
	 */
	protected $_sTemplatePath='';
	const EXCE_ID_NOWIDGET=1;

	/**
	 * 窗体享元对象 访问接口
	 * 
	 * @access public
	 * @param $sId string 窗体 ID
	 * @param $arrObjectForSignal=array() array 用于响应 Signal 事件的对象, 数组键名做为 对象的变量名
	 * @return GtkWidget
	 */
	public function getWidget($sId,array $arrObjectForSignal=array()){}
	
	/**
	 * 销毁窗体
	 *
	 * @access public
	 * @param $sWidgetId
	 * @return void
	 */
	public function onDestroy($sWidgetId){}
	
	/**
	 * 窗体成员树型结构 访问接口
	 * 
	 * @access public
	 * @return array
	 */
	public function getWidgetTree(){}
	
	/**
	 * 创建 所有 窗体的迭代器
	 * 
	 * @access public
	 * @return DArrayIterator
	 */
	public function createWidgetIdIterator(){}
	
	/**
	 * 取得Glade的路径
	 * 
	 * @access public
	 * @return string
	 */
	public function getGladePath(){}
	
	/**
	 * 添加一个 用于 响应 signal 的对象
	 * 
	 * @access public
	 * @param $sName string 名称
	 * @param $oObject object 对象
	 * @return array
	 */
	public function addObjectForSignal($sName,$oObject){}
	
	/**
	 * 连接信号
	 * 
	 * @access protected
	 * @param $sAction string
	 * @param $sObName object
	 * @param $sMethod string
	 * @param $bConnectSimple object
	 * @return void
	 */
	protected function connectSignal($sAction,$sObName,$sMethod,$bConnectSimple){}

}
